'
'EWFAPIC
'SJJ Embedded Micro Solutions
'Copyright (c) 2004 SJJ Micro Solutions    All Rights Reserved
'
'
'EWFAPIC.DLL - .NET Class Library
'
' Date: 12/03/04 - Comments generated
'P/Invoke interface for the EWFNET.DLL. This is a .NET class library that can be imported
'into a C# of VB.NET application to access the EWF APIs.
'
'Source code is provided as is without any warranty


Option Strict Off
Option Explicit On 

Imports System
Imports System.Runtime.InteropServices
Imports System.ComponentModel


Namespace SJJEMS


Public Class EWFAPI

        'This solution provides the basic EWF commands for a EWF application
        'If you add more functions to the EWFNET.DLL, you will also have
        'to add them here with P/Invoke for .NET.

        'The following functions return Long values.
        'The alternative is to change the EWFNET.DLL
        'to return a String values, thus putting all the work in the DLL
        'instead of the .NET application.

        Public Declare Function EwfEnable Lib "EWFNET.dll" (ByVal DriveH As String) As Long
        Public Declare Function EwfDisable Lib "EWFNET.dll" (ByVal DriveH As String, ByVal fCommit As Boolean) As Long
        Public Declare Function EwfCommitandDisableLive Lib "EWFNET.dll" (ByVal DriveH As String) As Long
        Public Declare Function EwfCommit Lib "EWFNET.dll" (ByVal DriveH As String) As Long
        Public Declare Function EwfClearCommand Lib "EWFNET.dll" (ByVal DriveH As String) As Long

        'Status Functions return strings for TYPE, STATE, and Boot Command status

        Public Declare Function EWFStatus_Type Lib "EWFNET.dll" (ByVal DriveH As String) As String
        Public Declare Function EWFStatus_State Lib "EWFNET.dll" (ByVal DriveH As String) As String
        Public Declare Function EWFStatus_Command Lib "EWFNET.dll" (ByVal DriveH As String) As String
    End Class

End Namespace
